﻿/***********************************
* Classe ModeleEcurie             *
*                                  *
***********************************/

package utils.appli {
	
	//import utils.appli.events.ModeleCalcuEvent;
	
	import flash.events.EventDispatcher;
	import utils.appli.Case;
	import utils.appli.Cheval;
	import utils.appli.events.ModeleEcurieEvent;
	
	
	public class ModeleEcurie extends EventDispatcher /*implements IModeleEcurie*/ {
		
		/*********************
		*propriétés statiques*
		*********************/
		
		/************************
		*propriétés d'occurrence*
		************************/
		
		private var _id:int;
		private var _couleur:String;
		private var _chevauxArray:Array;
		
		/*************
		*constructeur*
		*************/
		
		//implémentation du DP Singleton
		public function ModeleEcurie() {
			this._chevauxArray = new Array(4);
		}
		
		/****************************
		*méthodes d'instance publiques*
		****************************/

		public function removeCheval(aCheval:Cheval){
				this._chevauxArray.splice(_chevauxArray.length-1,1);
				this.dispatchEvent(new ModeleEcurieEvent(ModeleEcurieEvent.CHEVAL_QUITTE_ECURIE, false, false, aCheval));
		}
		
		/*******************
		*getters et setters*
		*******************/
		
		//accesseurs au modèle
		public function get id():int {
			return this._id;
		}
		
		public function set id(aId:int):void {
			this._id = aId;
		}
		
		public function get couleur():String {
			return this._couleur;
		}
		
		public function set couleur(aCouleur:String):void {
			this._couleur = aCouleur;
		}
		
		/*public function get cheval(index:int):int {
			return this._chevauxArray[index];
		}*/
		
		public function insertCheval(aCheval:Cheval):void {
			this._chevauxArray.push(aCheval);
		}
		
	}
}//fin du package